﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QLTV_Public;
using QLTV_BLL;

namespace QLTV_GiaoDien
{
    public partial class frm_DonVi : DevExpress.XtraEditors.XtraForm
    {
        public frm_DonVi()
        {
            InitializeComponent();
        }
        private int _flag;

        public int Flag
        {
            get { return _flag; }
            set { _flag = value; }
        }
        private static int _MaDonVi;

        public int MaDonVi
        {
            get { return _MaDonVi; }
            set { _MaDonVi = value; }
        }
        private static string _TenDonVi;

        public string TenDonVi
        {
            get { return _TenDonVi; }
            set { _TenDonVi = value; }
        }
        private static string _GhiChu;

        public string GhiChu
        {
            get { return _GhiChu; }
            set { _GhiChu = value; }
        }
        public void EnableTextFalse(Control ctr)
        {
            if (ctr is TextBox || ctr is TextEdit)
            {
                ctr.Enabled = false;
            }
            foreach (Control i in ctr.Controls)
            {
                EnableTextFalse(i);
            }
        }
        public void Huy_Text(Control ctr)
        {
            if (ctr is TextBox || ctr is TextEdit)
            {
                ctr.Text = string.Empty;
            }
            foreach (Control i in ctr.Controls)
            {
                Huy_Text(i);
            }
        }
        public delegate void GetInt(int kt);
        public GetInt MyGetData;
        public void GetData()
        {
            txt_MaDonVi.Text = MaDonVi.ToString();
            txt_TenDonVi.Text = TenDonVi;
            txt_GhiChu.Text = GhiChu;
        }
        public void LoadForm()
        {
            if (Flag == 0)
            {
                this.Text = "Thêm Đơn Vị";
                bbi_Them.Enabled = false;
                bbi_Sua.Enabled = false;
            }
            if (Flag == 1)
            {
                this.Text = "Sửa Đơn Vị";
                bbi_Them.Enabled = false;
                bbi_Sua.Enabled = false;
                GetData();
            }
            if (Flag == 2)
            {
                this.Text = "Xem Đơn Vị";
                EnableTextFalse(this);
                bbi_Them.Enabled = false;
                bbi_Sua.Enabled = false;
                bbi_Luu.Enabled = false;
                GetData();
            }
        }
        DonVi_BLL donvi_bll = new DonVi_BLL();
        private void frm_DonVi_Load(object sender, EventArgs e)
        {
            LoadForm();
            bbi_Dau.Enabled = false;
            bbi_Sau.Enabled = false;
            bbi_Tiep.Enabled = false;
            bbi_CuoiCung.Enabled = false;
            
        }

        NhatKy_BLL nhatKy_bll = new NhatKy_BLL();
        NhatKy_Public nk = new NhatKy_Public();
        TrungGian tg = new TrungGian();
        private void bbi_Luu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            //try
            //{
                DonVi_Public dv = new DonVi_Public();
                if (Flag == 0)
                {
                    if (txt_TenDonVi.Text != "")
                    {
                        //them
                        dv.TenDonVi = txt_TenDonVi.Text;
                        dv.GhiChu = txt_GhiChu.Text;
                        donvi_bll.Insert_DonVi(dv, dv);
                        //
                        string d = DateTime.Now.ToString();
                        nk.MaNV = tg.MaNV;
                        nk.NgayGio = d;
                        nk.HanhDong = "Thêm";
                        nk.MoTa = "Thêm mới Đơn vị: '" + txt_TenDonVi.Text + "'";
                        nhatKy_bll.insert_nhatKy(nk, nk, nk, nk);
                        //
                        XtraMessageBox.Show("Thêm mới thành công!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Huy_Text(this);
                        bbi_Them.Enabled = true;
                        bbi_Sua.Enabled = true;
                        bbi_Luu.Enabled = false;
                        bbi_huy.Enabled = false;
           
                    }
                    else
                    {
                        XtraMessageBox.Show("Bạn chưa nhập Tên đơn vị", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txt_TenDonVi.Focus();
                    }
                }
                if (Flag == 1)
                {
                    try
                    {
                        //sua
                        dv.MaDonVi = int.Parse(txt_MaDonVi.Text);
                        dv.TenDonVi = txt_TenDonVi.Text;
                        dv.GhiChu = txt_GhiChu.Text;
                        donvi_bll.Update_DonVi(dv, dv, dv);
                        //
                        string d = DateTime.Now.ToString();
                        nk.MaNV = tg.MaNV;
                        nk.NgayGio = d;
                        nk.HanhDong = "Sửa";
                        nk.MoTa = "Sửa thông tin Đơn vị: '" + TenDonVi.ToString() + "' thành: '" + txt_TenDonVi.Text + "'";
                        nhatKy_bll.insert_nhatKy(nk, nk, nk, nk);
                        //
                        XtraMessageBox.Show("Sửa thành công!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Huy_Text(this);
                        bbi_Them.Enabled = true;
                        bbi_Sua.Enabled = true;
                        bbi_Luu.Enabled = false;
                        bbi_huy.Enabled = false;
                    }
                    catch (Exception)
                    { }
           

                }
                if (Flag == 2)
                {
                    
                    //xem
                    dv.MaDonVi = int.Parse(txt_MaDonVi.Text);
                    dv.TenDonVi = txt_TenDonVi.Text;
                    dv.GhiChu = txt_GhiChu.Text;
                    donvi_bll.Update_DonVi(dv, dv, dv);
                    //
                    string d = DateTime.Now.ToString();
                    nk.MaNV = tg.MaNV;
                    nk.NgayGio = d;
                    nk.HanhDong = "Sửa";
                    nk.MoTa = "Sửa thông tin Đơn vị: '" + TenDonVi.ToString() + "' thành: '" + txt_TenDonVi.Text + "'";
                    nhatKy_bll.insert_nhatKy(nk, nk, nk, nk);
                    //
                    XtraMessageBox.Show("Sửa thành công!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Huy_Text(this);
                    bbi_Them.Enabled = true;
                    bbi_Sua.Enabled = true;
                    bbi_Luu.Enabled = false;
                    bbi_huy.Enabled = false;
           
                }
            
            //catch (Exception)
            //{
            //    XtraMessageBox.Show("Bạn chưa nhập đủ dữ liệu hoặc dữ liệu chưa chính xác!","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
            //}
            MyGetData(1);

        }

        private void bbi_huy_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            Huy_Text(this);
            bbi_Them.Enabled = true;
            bbi_Sua.Enabled = true;
            bbi_Luu.Enabled = false;
            bbi_huy.Enabled = false;
            Flag = 4;
        }

        private void bbi_Thoat_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            this.Close();
        }

        private void bbi_Them_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            Flag = 0;
            this.Text = "Thêm Mới Đơn Vị";
            txt_MaDonVi.Text = "Mã tự sinh";
            txt_MaDonVi.Enabled = false;
            bbi_Them.Enabled = false;
            bbi_Sua.Enabled = false;
            bbi_Luu.Enabled = true;
            bbi_huy.Enabled = true;
        }

        private void bbi_Sua_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            GetData();
            Flag =1;
            this.Text = "Sửa Đơn Vị";
            txt_MaDonVi.Enabled = true;
            bbi_Them.Enabled = false;
            bbi_Sua.Enabled = false;
            bbi_Luu.Enabled = true;
            bbi_huy.Enabled = true;
        }

        private void txt_MaDonVi_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }

        private void txt_MaDonVi_Leave(object sender, EventArgs e)
        {
            if (txt_MaDonVi.Text == "")
                txt_MaDonVi.Focus();
        }
    }
}